Practical and Profitable Alternatives to Greedy, Single-path Scheduling
نویسندگان
چکیده
Compiler writers continue to search for ways to use the ever-increasing number of parallel functional units in modern microarchitectures. The most popular approach today is to build a tracebased instruction scheduler, since they are effective and can be conceptually simple to implement. DAG-based schedulers that look along multiple control paths, instead of along just one as in a trace-based scheduler, have the potential to do better. This paper begins by presenting a DAG-based scheduler that is both conceptually simpler and easier to implement than previous approaches. A key component of this approach is the incorporation of redundancy elimination (RE) into the topdown scheduling algorithm. RE allows us to simplify the code motion process while still producing efficient instruction schedules. Our experimental results illustrate that our proposed DAG-based scheduler has concrete performance benefits over a superblock scheduler for programs with hardto-predict control flow. However, these results also expose problems that surface as both DAGbased and trace-based schedulers attempt to exploit even greater amounts of instruction-level parallelism (ILP). We find that these problems partially originate from the excessive greediness of topdown scheduling. In the second half of the paper, we show how to suppress the excessive greediness of top-down scheduling with bottom-up rescheduling. We develop bottom-up rescheduling algorithms for both the superblock and DAG-based approaches. Our experimental results with superblock scheduling show that bottom-up rescheduling effectively suppresses instruction overspeculation and register pressure while preserving the ILP exposed during top-down scheduling.
منابع مشابه
An Iterated Greedy Algorithm for Solving the Blocking Flow Shop Scheduling Problem with Total Flow Time Criteria
In this paper, we propose an iterated greedy algorithm for solving the blocking flow shop scheduling problem with total flow time minimization objective. The steps of this algorithm are designed very efficient. For generating an initial solution, we develop an efficient constructive heuristic by modifying the best known NEH algorithm. Effectiveness of the proposed iterated greedy algorithm is t...
متن کاملParallel Strategies for Grasp with Path-relinking
A Greedy Randomized Adaptive Search Procedure (GRASP) is a metaheuristic for combinatorial optimization. It usually consists of a construction procedure based on a greedy randomized algorithm and local search. Path-relinking is an intensification strategy that explores trajectories that connect high quality solutions. We analyze two parallel strategies for GRASP with path-relinking and propose ...
متن کاملSimultaneous Schedule Design & Routing with Maintenance Constraints for Single Fleet Airlines
We propose to find simultaneously the flight schedule design and the aircraft routing, considering at the same time maintenance requirements. This approach leads to a closer global optimal solution than the typical sequential one, and it is practical for the case of airlines with a single fleet, such as many emerging young low-cost airlines. The formulation of this optimization problem is a Lon...
متن کاملEfficient Algorithms for Just-In-Time Scheduling on a Batch Processing Machine
Just-in-time scheduling problem on a single batch processing machine is investigated in this research. Batch processing machines can process more than one job simultaneously and are widely used in semi-conductor industries. Due to the requirements of just-in-time strategy, minimization of total earliness and tardiness penalties is considered as the criterion. It is an acceptable criterion for b...
متن کاملGreedy Packet Scheduling on Shortest Paths
We investigate the simple class of greedy scheduling algorithms, that is, algorithms that always forward a packet if they can. Assuming that only one packet can be delivered over a link in a single step, and that the routes traversed by a set of packets are distance optimal (“shortest paths”), we prove that the time required to complete transmission of a packet in the set is bounded by its rout...
متن کامل